package com.hlt.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hlt.dto.LikesDTO;
import com.hlt.dto.LikesPageQueryDTO;
import com.hlt.dto.PostLikesPageQueryDTO;
import com.hlt.entity.Likes;
import com.hlt.result.PageResult;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author lzf
 * @since 2024-11-25
 */
public interface ILikesService extends IService<Likes> {
    /**
     * 点赞文章
     * 
     * @param likesDTO 点赞信息
     */
    void addLike(LikesDTO likesDTO);

    /**
     * 取消点赞
     * 
     * @param postId 文章ID
     */
    void removeLike(Integer postId);

    /**
     * 获取用户的点赞列表
     * 
     * @param pageQueryDTO 分页查询参数
     * @return 点赞列表
     */
    PageResult getUserLikes(LikesPageQueryDTO pageQueryDTO);

    /**
     * 获取文章的点赞列表
     * 
     * @param pageQueryDTO 分页查询参数
     * @return 点赞列表
     */
    PageResult getPostLikes(PostLikesPageQueryDTO pageQueryDTO);
}
